﻿using AutoMapper;
using IntelligentAgriculture.Contracts.Dto.Input;
using IntelligentAgriculture.Contracts.Dto.Input.ColumnManagemeninput;
using IntelligentAgriculture.Contracts.Dto.Input.CustomerinformationSinput;
using IntelligentAgriculture.Contracts.Dto.Input.DeathModelsinput;
using IntelligentAgriculture.Contracts.Dto.Input.EarTagInput;
using IntelligentAgriculture.Contracts.Dto.Input.EliminationmodelsInput;
using IntelligentAgriculture.Contracts.Dto.Input.ManageInput;
using IntelligentAgriculture.Contracts.Dto.Input.RidgepInput;
using IntelligentAgriculture.Contracts.Dto.Output;
using IntelligentAgriculture.Contracts.Dto.Output.ColumnManagementOutput;
using IntelligentAgriculture.Contracts.Dto.Output.CustomerinformationSOutput;
using IntelligentAgriculture.Contracts.Dto.Output.DeathModelsOutPut;
using IntelligentAgriculture.Contracts.Dto.Output.EarTagOutput;
using IntelligentAgriculture.Contracts.Dto.Output.EliminationmodelsOutput;
using IntelligentAgriculture.Contracts.Dto.Output.ManageOutput;
using IntelligentAgriculture.Contracts.Dto.Output.RidgepOutPut;
using IntelligentAgriculture.Domain.Entity;

namespace IntelligentAgriculture.Contracts
{
    public class RbacProfile : Profile
    {
        public RbacProfile()
        {
            CreateMap<Userinfo, UserOutput>();
            CreateMap<Start, StartOutput>();
            CreateMap<StartInput, Start>();
         
            CreateMap<StartOutput, StartExcelOutPut> ();
            CreateMap<StartImportInput, Start>();
            CreateMap<Sheepfactory, SheepOutPut>();
            CreateMap<SheepInPut, Sheepfactory>();
            CreateMap<SheepFactoryInput, Sheepfactory>();
            CreateMap<UnitInPut, Unit>();
            CreateMap<Department, DepartMentOutPut>();
            CreateMap<DepartMentInPut, Department>();
            CreateMap<SheepInPut, Sheepfactory>();
            CreateMap<Userinfo, PersonalDetailsOutput>();
            CreateMap<Sheepfilemodel, SheepfilemodelsOutput>();
            CreateMap<SheepfilemodelInput, Sheepfilemodel>();
            CreateMap<AddSheepfileModelInput, Sheepfilemodel>();
            CreateMap<UpdaSheepfileModelInput, Sheepfilemodel>();
            CreateMap<Vendormodel, VendorModelminiExcelOutPut>();
            CreateMap<VendorModelminiExcelInPut, Vendormodel>().ReverseMap();
            CreateMap<Purchaseformmodel, PurchaseformmodelOutOut>().ReverseMap();
			CreateMap<Purchaseformmodel, PurchaseFormsAddInput>().ReverseMap();
			CreateMap<Vendormodel, VendorModelminiExcelOutPut>();
			CreateMap<VendorModelminiExcelInPut, Vendormodel>().ReverseMap();
            CreateMap<DepartMentAddInPut, Department>();
            CreateMap<DepartMentOutPut, DepartMentExportOutPut>();
            CreateMap<PageInput, Deliverypromptmodel>();

            CreateMap<BreedingWeighInPut,Breedingweigh>();
            CreateMap<Breedingweigh, BreedingWeighOutPut>();

            CreateMap<Unit, UnitListOutPut>();
            CreateMap<UnitListInPut, Unit>();

            CreateMap<ManagerAddInput,Management>();
            CreateMap<ManageShowinput,Management>();
            CreateMap<Management,ManageShowOutput>();
            CreateMap<RidgepShowinput, Ridgepole>();
            CreateMap<Ridgepole, RidgepShowOutput>();   
            CreateMap<RidgepAddinput, Ridgepole>();
            CreateMap<ColumnAddinput, Columnmanagement>();
            CreateMap<Columnmanagement, ColumnShowOutput>();
            CreateMap<EarTageShowInput, Eartag>();
            CreateMap<EarTagsAddInput, Eartag>();
            CreateMap<Eartag, EarTageShowsOutPut>();
            //增加人员
            CreateMap<AddUserInput, Userinfo>();
            //增加入职信息
            CreateMap<AddUserInput, Entryinformation>();
            //增加用户角色
            CreateMap<AddUserInput, Userrole>();
            //种母历史记录显示
            CreateMap<Historyrecord, HistoryOutPut> ();
            //种母历史记录查询参数
            CreateMap<HistoryInput, Historyrecord>();

            //种母配种
            CreateMap<Breedinginfo, BreedingInfoOutPut>();


            CreateMap<Sheeppregnancy,PregnancyOutput>();
        
			CreateMap<Lambweaninginfo, LambweaninginfoOutPut>();
            //增加角色
            CreateMap<AddRoleInput, Role>();
            CreateMap<Role, RoleSelectOutput>();


           

            //种母断奶
            CreateMap<Sheepablactation,SheepAblactationOutput>();
            CreateMap<Deathmodel,DeathModelsOutPut>();
            CreateMap<DeathModelInput, Deathmodel>();








            CreateMap<EliminationmodelShowInput, Eliminationmodel>();
            CreateMap<Eliminationmodel, EliminationmodelShowOutput>()
                ;
            CreateMap<Customerinformation, CustomerinformationShowOutput>();
            CreateMap<CustomerinformationShowInput, Customerinformation>();
        }
    }
}